<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                >
    <ui:define name="content">
        <h:form id="formprofesor">
            <p:growl autoUpdate="true"/>
            <p:panel header="Profesores">
                <h:panelGrid columns="4" id="idprofesorpanel">
                    <p:outputLabel value="Fecha alta:" for="idfechaalta"/>
                    <p:outputPanel>
                        <p:calendar size="35" required="true" value="#{profesorController.profesor.fechaalta}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfechaalta" requiredMessage='El campo "Fecha alta" es requerido'/>
                        <p:watermark for="idfechaalta" value="dd/mm/aa" /> 
                    </p:outputPanel>
                    <p:outputLabel value="Fecha Nacimiento:" for="idfechanacimiento"/>
                    <p:outputPanel>
                        <p:calendar size="35" maxdate="#{profesorController.diffFecha}" required="true" value="#{profesorController.profesor.fechanacimiento}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfechanacimiento" requiredMessage='El campo "Fecha nacimiento" es requerido'/>
                        <p:watermark for="idfechanacimiento" value="dd/mm/aa" /> 
                    </p:outputPanel>
                    <p:outputLabel  value="Nombres:" for="profesornombre"/>
                    <p:inputText maxlength="30" size="35" value="#{profesorController.profesor.nombres}" id="profesornombre" required="true" requiredMessage='El campo "Nombres" es requerido'/>
                    <p:outputLabel value="Apellido:" for="profesorapellido" />
                    <p:inputText maxlength="30" size="35" value="#{profesorController.profesor.apellidos}" id="profesorapellido" required="true" requiredMessage='El campo "Apellidos" es requerido'/>
                    <p:outputLabel value="NIF:" for="profesornif" />
                    <p:inputText disabled="#{profesorController.profesor.id != null}" maxlength="9" size="35" value="#{profesorController.profesor.nif}" id="profesornif" required="true" requiredMessage='El campo "NIF" es requerido'/>
                    <p:outputLabel value="Telefono:" for="profesortel" />
                    <p:inputMask maxlength="9" size="35" value="#{profesorController.profesor.telefono}" mask="999999999" id="profesortel" required="true" requiredMessage='El campo "Telefono" es requerido'/> 

                    <p:outputLabel value="Seccion:" for="profesorseccion" />
                    <p:selectOneMenu converter="seccione" id="profesorseccion" style="width: 249px" value="#{profesorController.profesor.seccion}">
                        <f:selectItems value="#{profesorController.listaSeccion}" var="seccione" itemLabel="#{seccione.nombre}" itemValue="#{seccione}"/>

                    </p:selectOneMenu>
                    <p:outputLabel value="Vehiculo:" for="profesorvehiculo" />
                    <p:selectOneMenu converter="vehiculo" id="profesorvehiculo" style="width: 249px" value="#{profesorController.profesor.vehiculo}">
                        <f:selectItems value="#{profesorController.listaVehiculo}" var="vehiculo" itemLabel="#{vehiculo.matricula}" itemValue="#{vehiculo}"/>

                    </p:selectOneMenu>
                    <p:commandButton update="@form" value="Guardar" actionListener="#{profesorController.save}"/>
                    <p:commandButton value="Cancelar" process="@this" actionListener="#{profesorController.init()}" update="idprofesorpanel"/>

                </h:panelGrid>
            </p:panel>
            <p:panel  header="Lista de profesores">
                <h:panelGrid columns="3">
                    <h:inputText id="idbuscarprof" size="50" value="#{profesorController.valorBusqueda}"/>
                    <p:watermark for="idbuscarprof" value="Digite NIF o Nombre y Luego Presione El Boton Buscar" /> 
                    <p:commandButton process="idbuscarprof @this" value="Buscar" update="idtableprofesor" action="#{profesorController.search}"/>
                </h:panelGrid>
                <p:dataTable lazy="true" id="idtableprofesor" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" value="#{profesorController.listaProfesor}" var="varprofesor">
                    <p:column headerText="Nif">
                        #{varprofesor.nif}
                    </p:column>
                    <p:column headerText="Nombre">
                        #{varprofesor.nombres}
                    </p:column>
                    <p:column headerText="Apellido">
                        #{varprofesor.apellidos}
                    </p:column>
                    <p:column headerText="Telefono">
                        #{varprofesor.telefono}
                    </p:column>
                    <p:column headerText="Vehiculo">
                        #{varprofesor.vehiculo.matricula}
                    </p:column>
                    <p:column headerText="Seccion">
                        #{varprofesor.seccion.nombre}
                    </p:column>
                    <p:column headerText="Acciones">
                        <p:commandButton value="Editar" process="@this idtableprofesor" update=":formprofesor:idprofesorpanel">
                            <f:setPropertyActionListener target="#{profesorController.profesor}" value="#{varprofesor}"/>
                        </p:commandButton>
                    </p:column>
                </p:dataTable>
            </p:panel>
        </h:form>
    </ui:define>
</ui:composition>